package com.atxyj.proxy.jdkProxy;

/**
 * @author xieyujiao
 * @description
 * @date 2021/9/6
 */
public class ProxyTest {
    public static void main(String[] args) {
        //实例目标对象【类型是接口或实现类都可以，我喜欢用接口】
        UserService userService = new UserServiceImpl();
        //实例动态代理对象，注入目标对象，然后在内存创建该目标对象的代理对象，返回结果强转成目标对象一样的类型
        //这样好处就是只要增强操作是一样的，则可以统一使用这个动态代理类
        UserService userServiceProxy = (UserService)new DynamicProxy(userService).getProxyInstance();
        //执行代理对象，方法则与目标类的相同
        userServiceProxy.getName();

    }
}
